<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" href="http://www.petercorke.com/RVC/common/toolboxhelp.css">
    <title>M-File Help: RTBPose</title>
  </head>
  <body>
  <table border="0" cellspacing="0" width="100%">
    <tr class="subheader">
      <td class="headertitle">M-File Help: RTBPose</td>
      <td class="subheader-left"><a href="matlab:open RTBPose">View code for RTBPose</a></td>
    </tr>
  </table>
<h1>RTBPose</h1><p><span class="helptopic">Superclass for SO2, SO3, SE2, SE3</span></p><p>
This abstract class provides common methods for the 2D and 3D orientation and pose
classes: SO2, SE2, SO3 and SE3.

</p>
<h2>Methods</h2>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1"> dim</td> <td>dimension of the underlying matrix</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> isSE</td> <td>true for SE2 and SE3</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> issym</td> <td>true if value is symbolic</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> plot</td> <td>graphically display coordinate frame for pose</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> animate</td> <td>graphically display coordinate frame for pose</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> print</td> <td>print the pose in single line format</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> display</td> <td>print the pose in human readable matrix form</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> char</td> <td>convert to human readable matrix as a string</td></tr>
  <tr></tr>
  <tr></tr>  <tr><td style="white-space: nowrap;" class="col1"> double</td> <td>convert to real rotation or homogeneous transformation matrix</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> simplify</td> <td>apply symbolic simplification to all elements</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> vpa</td> <td>apply vpa to all elements</td></tr>
</table>
<h2>Operators</h2>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1"> + </td> <td>elementwise addition, result is a matrix</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> - </td> <td>elementwise subtraction, result is a matrix</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> * </td> <td>multiplication within group, also SO3 x vector</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> / </td> <td>multiplication within group by inverse</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> ==</td> <td>test equality</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> ~=</td> <td>test inequality</td></tr>
</table>
<p>
A number of compatibility methods give the same behaviour as the
classic RTB functions:

</p>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1"> tr2rt</td> <td>convert to rotation matrix and translation vector</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> t2r</td> <td>convert to rotation matrix</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> trprint</td> <td>print single line representation</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> trprint2</td> <td>print single line representation</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> trplot</td> <td>plot coordinate frame</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> trplot2</td> <td>plot coordinate frame</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> tranimate</td> <td>aimate coordinate frame</td></tr>
</table>
<h2>Notes</h2>
<ul>
  <li>Multiplication and division with normalization operations are performed
in the subclasses.</li>
  <li>SO3 is polymorphic with UnitQuaternion making it easy to change
rotational representations.</li>
  <li>If the File Exchange function cprintf is available it is used to print
the matrix in color: red for rotation and blue for translation.</li>
</ul>
<h2>See also</h2>
<p>
<a href="SO2.html">SO2</a>, <a href="SO3.html">SO3</a>, <a href="SE2.html">SE2</a>, <a href="SE3.html">SE3</a></p>
<hr>
<a name="animate"><h1>RTBPose.animate</h1></a>
<p><span class="helptopic">Animate a coordinate frame</span></p><p>
<span style="color:red">RTBPose</span>.<span style="color:red">animate</span>(<strong>p1</strong>, <strong>p2</strong>, <strong>options</strong>) animates a 3D coordinate frame moving from
pose <strong>p1</strong> to pose <strong>p2</strong>, which can be SO3 or SE3.

</p>
<p>
<span style="color:red">RTBPose</span>.<span style="color:red">animate</span>(<strong>p</strong>, <strong>options</strong>) animates a coordinate frame moving from the identity pose
to the pose <strong>p</strong> represented by any of the types listed above.

</p>
<p>
<span style="color:red">RTBPose</span>.<span style="color:red">animate</span>(<strong>pv</strong>, <strong>options</strong>) animates a trajectory, where <strong>pv</strong> is a vector of
SO2, SO3, SE2, SE3 objects.

</p>
<p>
Compatible with matrix function tranimate(T), tranimate(T1, T2).

</p>
<h2>Options (inherited from tranimate)</h2>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1">'fps',  fps</td> <td>Number of frames per second to display (default 10)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'nsteps',  n</td> <td>The number of steps along the path (default 50)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'axis', A</td> <td>Axis bounds [xmin, xmax, ymin, ymax, zmin, zmax]</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'movie', M</td> <td>Save frames as files in the folder M</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'cleanup'</td> <td>Remove the frame at end of animation</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'noxyz'</td> <td>Don't label the axes</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'rgb'</td> <td>Color the axes in the order x=red, y=green, z=blue</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'retain'</td> <td>Retain frames, don't animate</td></tr>
</table>
<p>
Additional options are passed through to TRPLOT.

</p>
<h2>See also</h2>
<p>
<a href="tranimate.html">tranimate</a></p>
<hr>
<a name="char"><h1>RTBPose.char</h1></a>
<p><span class="helptopic">Convert to string</span></p><p>
<strong>s</strong> = P.<span style="color:red">char</span>() is a string showing homogeneous transformation elements as
a matrix.

</p>
<h2>See also</h2>
<p>
<a href="RTBPose.display.html">RTBPose.display</a></p>
<hr>
<a name="dim"><h1>RTBPose.dim</h1></a>
<p><span class="helptopic">Dimension</span></p><p>
<strong>n</strong> = P.<span style="color:red">dim</span>() is the dimension of the group object, 2 for SO2, 3 for SE2
and SO3, and 4 for SE3.

</p>
<hr>
<a name="display"><h1>RTBPose.display</h1></a>
<p><span class="helptopic">Display a pose</span></p><p>
P.<span style="color:red">display</span>() displays the pose.

</p>
<h2>Notes</h2>
<ul>
  <li>This method is invoked implicitly at the command line when the result
of an expression is an RTBPose subclass object and the command has no trailing
semicolon.</li>
  <li>If the function cprintf is found is used to colorise the matrix,
rotational elements in red, translational in blue.</li>
</ul>
<h2>See also</h2>
<p>
<a href="SO2.html">SO2</a>, <a href="SO3.html">SO3</a>, <a href="SE2.html">SE2</a>, <a href="SE3.html">SE3</a></p>
<hr>
<a name="double"><h1>RTBPose.double</h1></a>
<p><span class="helptopic">Convert to matrix</span></p><p>
<strong>T</strong> = P.<span style="color:red">double</span>() is a matrix representation of the pose P, either a
rotation matrix or a homogeneous transformation matrix.

</p>
<p>
If P is a vector (1xN) then <strong>T</strong> will be a 3-dimensional array (MxMxN).

</p>
<h2>Notes</h2>
<ul>
  <li>If the pose is symbolic the result will be a symbolic matrix.</li>
</ul>
<hr>
<a name="isSE"><h1>RTBPose.isSE</h1></a>
<p><span class="helptopic">Test if pose</span></p><p>
P.<span style="color:red">isSE</span>() is true if the object is of type SE2 or SE3.

</p>
<hr>
<a name="issym"><h1>RTBPose.issym</h1></a>
<p><span class="helptopic">Test if pose is symbolic</span></p><p>
P.<span style="color:red">issym</span>() is true if the pose has symbolic rather than real values.

</p>
<hr>
<a name="minus"><h1>RTBPose.minus</h1></a>
<p><span class="helptopic">Subtract poses</span></p><p>
P1-P2 is the elementwise difference of the matrix elements of the two
poses.  The result is a matrix not the input class type since the result
of subtraction is not in the group.

</p>
<hr>
<a name="mpower"><h1>RTBPose.mpower</h1></a>
<p><span class="helptopic">Exponential of pose</span></p><p>
P&circ;N is the exponential of P where N is an integer.  It is equivalent of compounding
the rigid-body motion of P with itself N-1 times.

</p>
<h2>Notes</h2>
<ul>
  <li>N can be 0 in which case the result is the identity matrix.</li>
  <li>N can be negative which is equivalent to the inverse of P^abs(N).</li>
</ul>
<h2>See also</h2>
<p>
<a href="RTBPose.power.html">RTBPose.power</a>, <a href="RTBPose.mtimes.html">RTBPose.mtimes</a>, <a href="RTBPose.times.html">RTBPose.times</a></p>
<hr>
<a name="mrdivide"><h1>RTBPose.mrdivide</h1></a>
<p><span class="helptopic">Compound SO2 object with inverse</span></p><p>
R = P/Q is a pose object representing the composition of the pose object P by the
inverse of the pose object Q, which is matrix multiplication
of their equivalent matrices with the second one inverted.

</p>
<p>
If either, or both, of P or Q are vectors, then the result is a vector.

</p>
<p>
If P is a vector (1xN) then R is a vector (1xN) such that R(i) = P(i)/Q.

</p>
<p>
If Q is a vector (1xN) then R is a vector (1xN) such thatR(i) = P/Q(i).

</p>
<p>
If both P and Q are vectors (1xN) then R is a vector (1xN) such that
R(i) = P(i)/R(i).

</p>
<h2>See also</h2>
<p>
<a href="RTBPose.mtimes.html">RTBPose.mtimes</a></p>
<hr>
<a name="mtimes"><h1>RTBPose.mtimes</h1></a>
<p><span class="helptopic">Compound pose objects</span></p><p>
R = P*Q is a pose object representing the composition of the two
poses described by the objects P and Q, which is  multiplication
of their equivalent matrices.

</p>
<p>
If either, or both, of P or Q are vectors, then the result is a vector.

</p>
<p>
If P is a vector (1xN) then R is a vector (1xN) such that R(i) = P(i)*Q.

</p>
<p>
If Q is a vector (1xN) then R is a vector (1xN) such thatR(i) = P*Q(i).

</p>
<p>
If both P and Q are vectors (1xN) then R is a vector (1xN) such that
R(i) = P(i)*R(i).

</p>
<p>
W = P*V is a column vector (2x1) which is the transformation of the
column vector V (2x1) by the rotation described by the SO2 object P.
P can be a vector and/or V can be a matrix, a columnwise set of vectors.

</p>
<p>
If P is a vector (1xN) then W is a matrix (2xN) such that W(:,i) = P(i)*V.

</p>
<p>
If V is a matrix (2xN) V is a matrix (2xN) then W is a matrix (2xN) such
that W(:,i) = P*V(:,i).

</p>
<p>
If P is a vector (1xN) and V is a matrix (2xN) then W is a matrix (2xN)
such that W(:,i) = P(i)*V(:,i).

</p>
<h2>See also</h2>
<p>
<a href="RTBPose.mrdivide.html">RTBPose.mrdivide</a></p>
<hr>
<a name="plot"><h1>RTBPose.plot</h1></a>
<p><span class="helptopic">Draw a coordinate frame (compatibility)</span></p><p>
<span style="color:red">trplot</span>(<strong>p</strong>, <strong>options</strong>) draws a 3D coordinate frame represented by <strong>p</strong> which is
SO2, SO3, SE2 or SE3.

</p>
<p>
Compatible with matrix function <span style="color:red">trplot</span>(T).

</p>
<p>
Options are passed through to <span style="color:red">trplot</span> or trplot2 depending on the object
type.

</p>
<h2>See also</h2>
<p>
<a href="trplot.html">trplot</a>, <a href="trplot2.html">trplot2</a></p>
<hr>
<a name="plus"><h1>RTBPose.plus</h1></a>
<p><span class="helptopic">Add poses</span></p><p>
P1+P2 is the elementwise summation of the matrix elements of the two
poses.  The result is a matrix not the input class type since the result
of addition is not in the group.

</p>
<hr>
<a name="power"><h1>RTBPose.power</h1></a>
<p><span class="helptopic">Exponential of pose</span></p><p>
P.&circ;N is the exponential of P where N is an integer, followed by normalization.  It is equivalent of compounding
the rigid-body motion of P with itself N-1 times.

</p>
<h2>Notes</h2>
<ul>
  <li>N can be 0 in which case the result is the identity matrix.</li>
  <li>N can be negative which is equivalent to the inverse of P.^abs(N).</li>
</ul>
<h2>See also</h2>
<p>
<a href="RTBPose.mpower.html">RTBPose.mpower</a>, <a href="RTBPose.mtimes.html">RTBPose.mtimes</a>, <a href="RTBPose.times.html">RTBPose.times</a></p>
<hr>
<a name="print"><h1>RTBPose.print</h1></a>
<p><span class="helptopic">Compact display of pose</span></p><p>
P.<span style="color:red">print</span>(<strong>options</strong>) displays the homogoneous transform in a compact single-line
format.  If P is a vector then each element is printed on a separate
line.

</p>
<p>
Options are passed through to trprint or trprint2 depending on the object
type.

</p>
<h2>See also</h2>
<p>
<a href="trprint.html">trprint</a>, <a href="trprint2.html">trprint2</a></p>
<hr>
<a name="prod"><h1>RTBPose.prod</h1></a>
<p><span class="helptopic">Compound array of poses</span></p><p>
T.prod is a pose representing the product (composition) of the
successive elements of T (1xN).  P is a scalar of the same type (SO2,
SE2, SO3, SE3) as T.

</p>
<h2>Note</h2>
<ul>
  <li>Composition is performed with the .* operator.</li>
</ul>
<h2>See also</h2>
<p>
<a href="RTBPose.times.html">RTBPose.times</a>, <a href="RTBPose.mtimes.html">RTBPose.mtimes</a></p>
<hr>
<a name="simplify"><h1>RTBPose.simplify</h1></a>
<p><span class="helptopic">Symbolic simplification</span></p><p>
<strong>p2</strong> = P.<span style="color:red">simplify</span>() applies symbolic simplification to each element of
internal matrix representation of the pose.

</p>
<h2>See also</h2>
<p>
<a href="simplify.html">simplify</a></p>
<hr>
<a name="subs"><h1>RTBPose.subs</h1></a>
<p><span class="helptopic">Symbolic substitution</span></p><p>
<strong>T</strong> = <span style="color:red">subs</span>(<strong>T</strong>, <strong>old</strong>, <strong>new</strong>) replaces OLD with NEW in the symbolic
transformation <strong>T</strong>.

</p>
<p>
See also: <span style="color:red">subs</span>

</p>
<hr>
<a name="t2r"><h1>RTBPose.t2r</h1></a>
<p><span class="helptopic">Get rotation matrix  (compatibility)</span></p><p>
<strong>R</strong> = <span style="color:red">t2r</span>(<strong>p</strong>) returns the rotation matrix corresponding to the pose <strong>p</strong> which is either SE2 or SE3.

</p>
<p>
Compatible with matrix function <strong>R</strong> = <span style="color:red">t2r</span>(T)

</p>
<hr>
<a name="tr2rt"><h1>RTBPose.tr2rt</h1></a>
<p><span class="helptopic">Split rotational and translational components  (compatibility)</span></p><p>
[<strong>R</strong>,<strong>t</strong>] = <span style="color:red">tr2rt</span>(<strong>p</strong>) returns the rotation matrix and translation vector
corresponding to the pose <strong>p</strong> which is either SE2 or SE3.

</p>
<p>
Compatible with matrix function [<strong>R</strong>,<strong>t</strong>] = <span style="color:red">tr2rt</span>(T)

</p>
<hr>
<a name="tranimate"><h1>RTBPose.tranimate</h1></a>
<p><span class="helptopic">Animate a coordinate frame (compatibility)</span></p><p>
<span style="color:red">TRANIMATE</span>(<strong>p1</strong>, <strong>p2</strong>, <strong>options</strong>) animates a 3D coordinate frame moving from
pose <strong>p1</strong> to pose <strong>p2</strong>, which can be SO2, SO3, SE2 or SE3.

</p>
<p>
<span style="color:red">TRANIMATE</span>(<strong>p</strong>, <strong>options</strong>) animates a coordinate frame moving from the identity pose
to the pose <strong>p</strong> represented by any of the types listed above.

</p>
<p>
<span style="color:red">TRANIMATE</span>(<strong>pv</strong>, <strong>options</strong>) animates a trajectory, where <strong>pv</strong> is a vector of
SO2, SO3, SE2, SE3 objects.

</p>
<p>
Compatible with matrix function tranimate(T), tranimate(T1, T2).

</p>
<h2>Options (inherited from tranimate)</h2>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1">'fps',  fps</td> <td>Number of frames per second to display (default 10)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'nsteps',  n</td> <td>The number of steps along the path (default 50)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'axis', A</td> <td>Axis bounds [xmin, xmax, ymin, ymax, zmin, zmax]</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'movie', M</td> <td>Save frames as files in the folder M</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'cleanup'</td> <td>Remove the frame at end of animation</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'noxyz'</td> <td>Don't label the axes</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'rgb'</td> <td>Color the axes in the order x=red, y=green, z=blue</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'retain'</td> <td>Retain frames, don't animate</td></tr>
</table>
<p>
Additional options are passed through to TRPLOT.

</p>
<h2>See also</h2>
<p>
<a href="RTBPose.animate.html">RTBPose.animate</a>, <a href="tranimate.html">tranimate</a></p>
<hr>
<a name="trplot"><h1>RTBPose.trplot</h1></a>
<p><span class="helptopic">Draw a coordinate frame (compatibility)</span></p><p>
<span style="color:red">trplot</span>(<strong>p</strong>, <strong>options</strong>) draws a 3D coordinate frame represented by <strong>p</strong> which is
SO2, SO3, SE2, SE3.

</p>
<p>
Compatible with matrix function <span style="color:red">trplot</span>(T).

</p>
<h2>Options (inherited from trplot)</h2>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1">'handle', h</td> <td>Update the specified handle</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'color', C</td> <td>The color to draw the axes, MATLAB colorspec C</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'noaxes'</td> <td>Don't display axes on the plot</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'axis', A</td> <td>Set dimensions of the MATLAB axes to A=[xmin xmax ymin ymax zmin zmax]</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'frame', F</td> <td>The coordinate frame is named {F} and the subscript on the axis labels is F.</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'framelabel', F</td> <td>The coordinate frame is named {F}, axes have no subscripts.</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'text_opts',  opt</td> <td>A cell array of MATLAB text properties</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'axhandle', A</td> <td>Draw in the MATLAB axes specified by the axis handle A</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'view', V</td> <td>Set plot view parameters V=[az el] angles, or 'auto'
for view toward origin of coordinate frame</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'length', s</td> <td>Length of the coordinate frame arms (default 1)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'arrow'</td> <td>Use arrows rather than line segments for the axes</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'width',  w</td> <td>Width of arrow tips (default 1)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'thick', t</td> <td>Thickness of lines (default 0.5)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'perspective'</td> <td>Display the axes with perspective projection</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> '3d'</td> <td>Plot in 3D using anaglyph graphics</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'anaglyph', A</td> <td>Specify anaglyph colors for '3d' as 2 characters for
left and right (default colors 'rc'): chosen from
r)ed, g)reen, b)lue, c)yan, m)agenta.</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'dispar', D</td> <td>Disparity for 3d display (default 0.1)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'text'</td> <td>Enable display of X,Y,Z labels on the frame</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'labels', L</td> <td>Label the X,Y,Z axes with the 1st, 2nd, 3rd character of the string L</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'rgb'</td> <td>Display X,Y,Z axes in colors red, green, blue respectively</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'rviz'</td> <td>Display chunky rviz style axes</td></tr>
</table>
<h2>See also</h2>
<p>
<a href="RTBPose.plot.html">RTBPose.plot</a>, <a href="trplot.html">trplot</a></p>
<hr>
<a name="trplot2"><h1>RTBPose.trplot2</h1></a>
<p><span class="helptopic">Draw a coordinate frame (compatibility)</span></p><p>
<span style="color:red">trplot2</span>(<strong>p</strong>, <strong>options</strong>) draws a 2D coordinate frame represented by <strong>p</strong>

</p>
<p>
Compatible with matrix function <span style="color:red">trplot2</span>(T).

</p>
<h2>Options (inherited from trplot)</h2>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1">'handle', h</td> <td>Update the specified handle</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'axis', A</td> <td>Set dimensions of the MATLAB axes to A=[xmin xmax ymin ymax]</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'color',  c</td> <td>The color to draw the axes, MATLAB colorspec</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'noaxes'</td> <td>Don't display axes on the plot</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'frame', F</td> <td>The frame is named {F} and the subscript on the axis labels is F.</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'framelabel', F</td> <td>The coordinate frame is named {F}, axes have no subscripts.</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'text_opts',  opt</td> <td>A cell array of Matlab text properties</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'axhandle', A</td> <td>Draw in the MATLAB axes specified by A</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'view', V</td> <td>Set plot view parameters V=[az el] angles, or 'auto'
for view toward origin of coordinate frame</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'length', s</td> <td>Length of the coordinate frame arms (default 1)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'arrow'</td> <td>Use arrows rather than line segments for the axes</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'width',  w</td> <td>Width of arrow tips</td></tr>
</table>
<h2>See also</h2>
<p>
<a href="RTBPose.plot.html">RTBPose.plot</a>, <a href="trplot2.html">trplot2</a></p>
<hr>
<a name="trprint"><h1>RTBPose.trprint</h1></a>
<p><span class="helptopic">Compact display of homogeneous transformation  (compatibility)</span></p><p>
<span style="color:red">trprint</span>(<strong>p</strong>, <strong>options</strong>) displays the homogoneous transform in a compact single-line
format.  If <strong>p</strong> is a vector then each element is printed on a separate
line.

</p>
<p>
Compatible with matrix function <span style="color:red">trprint</span>(T).

</p>
<h2>Options (inherited from trprint)</h2>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1"> 'rpy'</td> <td>display with rotation in roll/pitch/yaw angles (default)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'euler'</td> <td>display with rotation in ZYX Euler angles</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'angvec'</td> <td>display with rotation in angle/vector format</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'radian'</td> <td>display angle in radians (default is degrees)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'fmt',  f</td> <td>use format string f for all numbers, (default %g)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'label', l</td> <td>display the text before the transform</td></tr>
</table>
<h2>See also</h2>
<p>
<a href="RTBPose.print.html">RTBPose.print</a>, <a href="trprint.html">trprint</a></p>
<hr>
<a name="trprint2"><h1>RTBPose.trprint2</h1></a>
<p><span class="helptopic">Compact display of homogeneous transformation  (compatibility)</span></p><p>
<span style="color:red">trprint2</span>(<strong>p</strong>, <strong>options</strong>) displays the homogoneous transform in a compact single-line
format.  If <strong>p</strong> is a vector then each element is printed on a separate
line.

</p>
<p>
Compatible with matrix function <span style="color:red">trprint2</span>(T).

</p>
<h2>Options (inherited from trprint2)</h2>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1"> 'radian'</td> <td>display angle in radians (default is degrees)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'fmt',  f</td> <td>use format string f for all numbers, (default %g)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'label', l</td> <td>display the text before the transform</td></tr>
</table>
<h2>See also</h2>
<p>
<a href="RTBPose.print.html">RTBPose.print</a>, <a href="trprint2.html">trprint2</a></p>
<hr>
<a name="vpa"><h1>RTBPose.vpa</h1></a>
<p><span class="helptopic">Variable precision arithmetic</span></p><p>
<strong>p2</strong> = P.<span style="color:red">vpa</span>() numerically evaluates each element of
internal matrix representation of the pose.

</p>
<p>
<strong>p2</strong> = P.<span style="color:red">vpa</span>(<strong>d</strong>) as above but with <strong>d</strong> decimal digit accuracy.

</p>
<h2>See also</h2>
<p>
<a href="simplify.html">simplify</a></p>
<hr>

<table border="0" width="100%" cellpadding="0" cellspacing="0">
  <tr class="subheader" valign="top"><td>&nbsp;</td></tr></table>
<p class="copy">&copy; 1990-2014 Peter Corke.</p>
</body></html>